﻿<Window x:Class="Sovacode.DemoApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:model="clr-namespace:Sovacode.DemoApp.Model"
        xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
        xmlns:behavior="clr-namespace:Sovacode.RubiksCube.Common.View;assembly=Sovacode.RubiksCube.Common"
        xmlns:local="clr-namespace:Sovacode.DemoApp" xmlns:view="clr-namespace:Sovacode.DemoApp.View"
        Title="Simple Demo App" 
        Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
        TextOptions.TextFormattingMode="Display"
        Width="{Binding Width, Mode=TwoWay}"
        Height="{Binding Height, Mode=TwoWay}"
        Left="{Binding Left, Mode=TwoWay}"
        Top="{Binding Top, Mode=TwoWay}"
        WindowState="{Binding WindowState, Mode=TwoWay}"
        behavior:WindowCloseBehavior.Closing="{Binding [SaveSettings]}">

    <i:Interaction.Behaviors>
        <behavior:WindowCloseButtonBehavior CloseButton="{Binding ElementName=CloseButton}"/>
    </i:Interaction.Behaviors>

    <Window.Resources>

        <Style TargetType="{x:Type TextBox}">
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="true">
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        
    </Window.Resources>

    <Window.InputBindings>
        <KeyBinding Command="{Binding [ShowInvalidCommands]}" Key="NumPad0" Modifiers="Control" />
        <KeyBinding Command="{Binding [ShowInvalidValidators]}" Key="NumPad1" Modifiers="Control" />
        <KeyBinding Command="{Binding [ShowInvalidSettings]}" Key="NumPad2" Modifiers="Control" />
        <KeyBinding Command="{Binding [Refresh]}" Key="F5"/>
        <KeyBinding Command="{Binding [SelectTab]}" CommandParameter="{x:Static local:SelectDirection.Next}" Key="Right" Modifiers="Control"/>
        <KeyBinding Command="{Binding [SelectTab]}" CommandParameter="{x:Static local:SelectDirection.Back}" Key="Left" Modifiers="Control"/>
    </Window.InputBindings>


    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="120"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="240"/>
        </Grid.RowDefinitions>
        
        <Grid Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <Image Grid.Column="0" Source="Resources/Sovacode-Rubiks-main-90.png" Width="90" MaxWidth="90" Height="90" MaxHeight="90" MinHeight="90" MinWidth="90" Stretch="None" Margin="10,10,35,15"/>
            <TextBlock Grid.Column="1" Text="Rubik's Cube MVVM Toolkit" FontSize="25" FontWeight="Bold" VerticalAlignment="Center"/>

            <TextBlock Grid.Column="2"  HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,10,35,0">
                For quick navigation press Ctrl+Left or Ctrl+Right<LineBreak/>
                <Hyperlink NavigateUri="http://rubikscubemvvm.codeplex.com/" Command="{Binding [NavigateTo]}" CommandParameter="http://rubikscubemvvm.codeplex.com/">
                    <Hyperlink.ToolTip>
                        Will navigate to 'http://rubikscubemvvm.codeplex.com/'
                    </Hyperlink.ToolTip>
                    CodePlex
                </Hyperlink><LineBreak/>
                <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Quick%20Start&amp;referringTitle=Documentation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Quick%20Start&amp;referringTitle=Documentation">
                    <Hyperlink.ToolTip>
                        Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Quick%20Start&amp;referringTitle=Documentation'
                    </Hyperlink.ToolTip>
                    Quick start
                </Hyperlink><LineBreak/>
                <Hyperlink NavigateUri="http://sovacode.com/rb/help" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help">
                    <Hyperlink.ToolTip>
                        Will navigate to 'http://sovacode.com/rb/help'
                    </Hyperlink.ToolTip>
                    Online Help
                </Hyperlink><LineBreak/>
                <Hyperlink NavigateUri="https://nuget.org/packages/RubiksCubeMvvm/" Command="{Binding [NavigateTo]}" CommandParameter="https://nuget.org/packages/RubiksCubeMvvm/">
                    <Hyperlink.ToolTip>
                        Will navigate to 'https://nuget.org/packages/RubiksCubeMvvm/'
                    </Hyperlink.ToolTip>
                    NuGet package
                </Hyperlink><LineBreak/>
            </TextBlock>
            <TextBox Grid.Column="2" HorizontalAlignment="Right" Text="Install-Package RubiksCubeMvvm" IsReadOnly="True" Margin="5,0,5,0" Height="30" VerticalContentAlignment="Center" ToolTip="Installs Rubik via NuGet"/>

        </Grid>
        
        <TabControl Grid.Row="1" Margin="10,0" SelectedIndex="{Binding SelectedIndex}">
            
            <TabItem Header="Commands">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:CommandView DataContext="{Binding CommandsViewModel}" Grid.Row="0"/>

                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/N_Sovacode_RubiksCube_Common_Command.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/N_Sovacode_RubiksCube_Common_Command.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/N_Sovacode_RubiksCube_Common_Command.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - Sovacode.RubiksCube.Common.Command Namespace
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Command_ICommandManager.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Command_ICommandManager.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Command_ICommandManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - ICommandManager Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IViewModelTop Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Registration%20Commands%20in%20View%20Model&amp;referringTitle=Commands" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Registration%20Commands%20in%20View%20Model&amp;referringTitle=Commands">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Registration%20Commands%20in%20View%20Model&amp;referringTitle=Commands'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Describes how to without get/set properties register and run commands in your View Model
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=How%20to%20add%20get%2fset%20property%20for%20your%20command&amp;referringTitle=Commands" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=How%20to%20add%20get%2fset%20property%20for%20your%20command&amp;referringTitle=Commands">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=How%20to%20add%20get%2fset%20property%20for%20your%20command&amp;referringTitle=Commands'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Adding get/set properties for commands
                        </Hyperlink>
                    </TextBlock>

                </Grid>
                
            </TabItem>

            <TabItem Header="Simple Validation">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:SimpleValidationView DataContext="{Binding SimpleValidationViewModel}" Grid.Row="0"/>

                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/T_Sovacode_RubiksCube_Common_Attributes_ValidateByManagerAttribute.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/T_Sovacode_RubiksCube_Common_Attributes_ValidateByManagerAttribute.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/T_Sovacode_RubiksCube_Common_Attributes_ValidateByManagerAttribute.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - ValidateByManagerAttribute Class
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IValidationManager Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - ValidationRule Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IViewModelTop Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Quick setup validation of your View Model or Data Object
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation -  Old style validation IDataErrorInfo
                        </Hyperlink>
                    </TextBlock>
                    
                </Grid>
                
            </TabItem>

            <TabItem Header="Validation Manager">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:ValidationManagerView DataContext="{Binding ValidationManagerViewModel}" Grid.Row="0"/>

                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_IValidationManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IValidationManager Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Validation_ValidationRule.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - ValidationRule Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IViewModelTop Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20Manager&amp;referringTitle=Validation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Quick setup validation of your View Model or Data Object
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Validation%20by%20IDataErrorInfo&amp;referringTitle=Validation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation -  Old style validation IDataErrorInfo
                        </Hyperlink>
                    </TextBlock>
                    
                </Grid>
            </TabItem>

            <TabItem Header="Settings">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:SettingsView DataContext="{Binding SettingsViewModel}" Grid.Row="0"/>
                    
                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - SettingsManager Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/M_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop_LoadSettings.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/M_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop_LoadSettings.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IViewModelTop.LoadSettings Method
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - How to use Settings Manager
                        </Hyperlink>
                    </TextBlock>
                    
                </Grid>
                
            </TabItem>

            <TabItem Header="Connection Strings">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    
                    <view:ConnectionsStringsView DataContext="{Binding ConnectionStringsViewModel}" Grid.Row="0"/>

                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_Data_DataAccessSetting.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_Data_DataAccessSetting.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_Data_DataAccessSetting.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - DataAccessSetting Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - SettingsManager Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/M_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop_LoadSettings.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/M_Sovacode_RubiksCube_Common_ViewModel_IViewModelTop_LoadSettings.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Managers_Settings_SettingsManager.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - IViewModelTop.LoadSettings Method
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Settings&amp;referringTitle=Documentation'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - How to use Settings Manager
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Store%20Connection%20Strings%20in%20Settings%20Manager&amp;referringTitle=Additional" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Store%20Connection%20Strings%20in%20Settings%20Manager&amp;referringTitle=Additional">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Store%20Connection%20Strings%20in%20Settings%20Manager&amp;referringTitle=Additional'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Learn how to store connection strings in Settings Manager
                        </Hyperlink>
                    </TextBlock>

                </Grid>
            </TabItem>

            <TabItem Header="Serialization">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:SerializationView DataContext="{Binding SerializationViewModel}" Grid.Row="0"/>

                    <TextBlock VerticalAlignment="Top" Grid.Row="1" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Collections_AdvancedObservableCollection_1.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Collections_AdvancedObservableCollection_1.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Collections_AdvancedObservableCollection_1.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - AdvancedObservableCollection(Of T) Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Model_DataObject.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Model_DataObject.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_Model_DataObject.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - DataObject Members
                        </Hyperlink>
                    </TextBlock>

                </Grid>
            </TabItem>

            <TabItem Header="Behavior">

                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>

                    <view:BehaviorView DataContext="{Binding BehaviorViewModel}" Grid.Row="0"/>

                    <StackPanel Grid.Row="1" Orientation="Vertical">
                        <TextBlock Text="Press button to close window:" Margin="5,10,5,0"/>
                        <Button x:Name="CloseButton" Width="150" Height="23" Content="_Close This Window" HorizontalAlignment="Left" Margin="5,10,5,0"/>
                    </StackPanel>

                    <TextBlock VerticalAlignment="Top" Grid.Row="2" Margin="5,10">
                        For more information:<LineBreak/><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_TreeViewSelectedItemBehavior.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_TreeViewSelectedItemBehavior.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_TreeViewSelectedItemBehavior.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - TreeViewSelectedItemBehavior Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseBehavior.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseBehavior.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseBehavior.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - WindowCloseBehavior Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseButtonBehavior.htm" Command="{Binding [NavigateTo]}" CommandParameter="http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseButtonBehavior.htm">
                            <Hyperlink.ToolTip>
                                Will navigate to 'http://sovacode.com/rb/help/?topic=html/AllMembers_T_Sovacode_RubiksCube_Common_View_WindowCloseButtonBehavior.htm'
                            </Hyperlink.ToolTip>
                            On-Line API Help - WindowCloseButtonBehavior Members
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=TreeView%20behavior&amp;referringTitle=Additional" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=TreeView%20behavior&amp;referringTitle=Additional">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=TreeView%20behavior&amp;referringTitle=Additional'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Adding SelectedItem property to TreeView
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Button%20behavior&amp;referringTitle=Additional" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Button%20behavior&amp;referringTitle=Additional">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Button%20behavior&amp;referringTitle=Additional'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - Close Button
                        </Hyperlink><LineBreak/>
                        <Hyperlink NavigateUri="https://rubikscubemvvm.codeplex.com/wikipage?title=Closing%20window%20behavior&amp;referringTitle=Additional" Command="{Binding [NavigateTo]}" CommandParameter="https://rubikscubemvvm.codeplex.com/wikipage?title=Closing%20window%20behavior&amp;referringTitle=Additional">
                            <Hyperlink.ToolTip>
                                Will navigate to 'https://rubikscubemvvm.codeplex.com/wikipage?title=Closing%20window%20behavior&amp;referringTitle=Additional'
                            </Hyperlink.ToolTip>
                            CodePlex Documentation - OnClosed, OnClosing, CancelClosing behavior
                        </Hyperlink><LineBreak/>
                        
                    </TextBlock>
                    
                </Grid>
            </TabItem>
            
        </TabControl>
        
        <TextBox Grid.Row="2" IsReadOnly="True" Margin="10" Text="{Binding Description, Mode=OneWay}"/>
        
    </Grid>
        
</Window>
